import request from "@/utils/request";

/**
 * 获取反馈列表
 * @param {Object} query - 查询参数对象，用于请求中的参数传递
 * @returns {Promise} 返回一个Promise对象，包含请求的反馈列表数据
 */
export function getFeedbackList(query) {
  return request({
    url: "/feedback",
    method: "get",
    params: query
  });
}

/**
 * 获取反馈详情
 * @param {number} id - 反馈的唯一标识符
 * @return {Promise} 返回一个Promise对象，成功时携带反馈详情数据
 */
export function getFeedbackDetail(id) {
  return request({
    url: `/feedback/${id}`, // 构造请求的URL
    method: "get" // 指定请求方法为GET
  });
}

/**
 * 删除反馈信息
 * @param {number} id - 需要删除的反馈信息的ID
 * @returns 调用请求返回的结果，具体结构依赖于后端的响应
 */
export function deleteFeddback(id) {
  return request({
    url: `/feedback/delete/${id}`,
    method: "delete"
  });
}

/**
 * 批量删除反馈信息
 * @param {Array} ids 需要删除的反馈信息的ID数组
 * @returns 返回一个请求对象，通过调用请求接口完成批量删除操作
 */
export function deleteManyFeedback(ids) {
  return request({
    url: `/feedback/${ids}`,
    method: `delete`
  });
}

/**
 * 回复反馈信息
 * @param {Object} data - 要提交的反馈数据
 * @returns {Promise} 返回一个Promise对象，用于处理请求的结果
 */
export function returnFeedback(data) {
  return request({
    url: `/feedback/reply`,
    method: "post",
    data
  });
}

/**
 * 获取成员列表
 * 本函数用于通过向服务器发送GET请求，获取成员列表信息。
 *
 * @returns {Promise} 返回一个Promise对象，成功时携带成员列表信息，失败时携带错误信息。
 */
export function getMemberList(params) {
  return request({
    url: `/member`,
    method: "get",
    params
  });
}

/**
 * 根据会员ID获取会员详细信息
 * @param {string} id - 会员的唯一标识符
 * @return {Promise} 返回一个Promise对象，成功时携带会员详情数据
 */
export function getMemberDetailById(id) {
  return request({
    url: `/member/${id}`, // 构造请求的URL，将ID嵌入其中
    method: "get" // 指定请求方法为GET
  });
}

/**
 * 编辑成员信息
 * @param {Object} data - 要编辑的成员信息对象
 * @returns {Promise} 返回一个Promise对象，成功则返回编辑结果，失败则返回错误信息
 */
export function editMember(data) {
  return request({
    url: "/member",
    method: "put",
    data
  });
}

/**
 * 编辑成员的电话号码
 * @param {Object} data - 请求数据对象，应包含要更新的电话号码等信息
 * @returns {Promise} 返回一个Promise对象，成功时携带处理结果，失败时携带错误信息
 */
export function editMemberPhone(data) {
  return request({
    url: "/member/phone",
    method: "put",
    data
  });
}

/**
 * 根据手机号获取用户信息
 * @param {string} phone 用户的手机号码
 * @return {Promise} 返回一个Promise对象，成功时携带用户信息，失败时携带错误信息
 */
export function getUserByPhone(phone) {
  return request({
    url: "/admin/phone/" + phone, // 构造请求的URL，将手机号拼接到URL中
    method: "get" // 使用GET方法请求
  });
}



export function bindUserById(data) {
  return request({
    url: "/member/bindAdmin",
    method: "put", 
    data
  });
}

export function unbindUser() {
  return request({
    url: "/member/generate/account",
    method: "get", 
  });
}



export function getMemberRealInfo(params) {
  return request({
    url: `/member/realInfo`,
    method: "get",
    params
  });
}

//设置回复建议紧急程度
export function setReplyUrgency(data) {
  return request({
    url: `/feedback/urgency`,
    method: "post",
    data
  });
}

